package vashion.azeroth.core.personal.dao;

import java.util.ArrayList;

import vashion.azeroth.core.dao.BaseDao;
import vashion.azeroth.core.dao.DaoRepository;
import vashion.azeroth.core.personal.pojo.PersonalPublishFiles;

@DaoRepository
public interface PersonalPublishFilesDao extends BaseDao<PersonalPublishFiles> {

	ArrayList<PersonalPublishFiles> getMyFiles(PersonalPublishFiles files);

	ArrayList<PersonalPublishFiles> getFilesByFollowUser(
			PersonalPublishFiles files);

	ArrayList<PersonalPublishFiles> getFilesByChosen(PersonalPublishFiles files);

	int findCntTimeStamp(PersonalPublishFiles files);

	int findCntChosen(PersonalPublishFiles files);

	int findCntTags(PersonalPublishFiles files);

	int findCntMembers(PersonalPublishFiles files);
	
	ArrayList<PersonalPublishFiles> getFiles(PersonalPublishFiles files);
	
	ArrayList<PersonalPublishFiles> getFilesByTags(PersonalPublishFiles files);

	ArrayList<PersonalPublishFiles> getFilesById(PersonalPublishFiles files);

	ArrayList<PersonalPublishFiles> getFilesBymemberId(
			PersonalPublishFiles files);

	int updateFeedsForChosen(PersonalPublishFiles files);

	int deleteFeedsByPublishFileId(PersonalPublishFiles files);

	int restoreFeedsByPublishFileId(PersonalPublishFiles files);

	PersonalPublishFiles queryFeedStatus(PersonalPublishFiles files);

	ArrayList<PersonalPublishFiles> getFilesByMyFollowUser(
			PersonalPublishFiles files);

	int cntFilesByMyFollowUser(PersonalPublishFiles files);

	ArrayList<PersonalPublishFiles> getFilesByPublishTime(
			PersonalPublishFiles files);


}
